A content delivery network includes a large distributed system of servers deployed in multiple data centers across the Internet. The content delivery network serves content, including different types of media, to end users with a high level of performance. The content delivery network serves, for example, web objects (text, graphics and/or scripts), downloadable objects (images, audio media, video media, software, and/or documents), applications, and live streaming media (e.g., Hypertext Transfer Protocol (HTTP) Live Streaming (HLS) media). Content delivery network nodes are typically deployed in multiple locations, often over multiple backbones. The benefits of a content delivery network include reduction of bandwidth costs, improving web page load times, and increasing the availability of content.
HLS is a HTTP-based media streaming communications protocol that involves breaking the media stream into a sequence of file downloads. Each file may be downloaded as one portion of a transport stream. Each downloaded file may be played in sequence to present a continuous media stream. As a given stream is played, the client may choose from multiple different alternative streams containing the same content encoded at various data rates. At the beginning of a streaming session, the client downloads a playlist file that specifies the different or alternate streams that are available. In HLS, a given multimedia presentation is specified by a Uniform Resource Identifier (URI) to the playlist file, which itself consists of an ordered list of media URIs and informational tags. Each media URI refers to a media file that is a segment of a single continuous media stream. To play a stream, a client first obtains the playlist file and then obtains and plays each media file in the playlist in sequence.